CapToMusic (Version 1.41, 6.11.2017) von Bernd Jungmann

Dieses Skript erzeugt aus einer Capella-Datei eine MusicXML-Datei, 
die in Finale oder Sibelius etc. importiert werden kann.

In CapToMusic.zip sind die drei bentigten Dateien Rtf2TxtAndFont.py, 
Rtf2Txt.py, und RtfParser.py von Loic Fejoz 
(http://sourceforge.net/projects/pyrtflib) mit enthalten, erstere Datei 
ist von mir modifiziert. Ferner ist das Skript SetupC2M.py von mir darin
enthalten, das einen Persistenzmechanismus fr Variablen wie
globalExportToSibelius untersttzt.
Alle 5 Python-Dateien mssen in das capella scripts 
Verzeichnis entpackt werden (bis capella Version 5.2). 
Soll CapToMusic den im Lieferumfang von capella ab Version 5.3 enthaltenen 
MusicXML-Export aktualisieren, so mssen die 5 Dateien in das Unterverzeichnis
data\CapToMusic der capella-Installation kopiert werden.
Soll CapToMusic von capella-scan aus benutzt werden, mssen die 5 Python-
Dateien im capella-scan-Verzeichnis stehen, dort wo auch capscan.exe 
steht.
Das Skript bersetzt, von capella aus gestartet, die gerade offene 
Partitur. Es kann auch ohne capella gestartet werden. Aufruf von der 
Kommandozeile:

python CapToMusic.py -l# -f DateiOhneErweiterung -o ZielDatei

Falls die Angabe ZielDatei fehlt, wird DateiOhneErweiterung als
Name der Zieldatei benutzt.
-l# bezeichnet die Sprache fr Meldungen des Programms.
Bisher untersttzt:
5   Englisch (US)
1   Deutsch

Aufruf von der Python-Shell (erfragt Dateinamen per Dialogbox):

>>> import CapToMusic
>>> doit()

Aufruf aus dem Idle-Fenster: Run - Run Module (F5)

Aus DateiOhneErweiterung.capx wird ZielDatei.xml erzeugt. Ggfls. wird 
eine vorhandene Datei gleichen Namens ohne Rckfrage berschrieben.

-----------------------------------------------

Bisherige Versionen:
Version 1.41, 6.11.17
Korrektur fr Mehrtaktpausen in mehrstimmigen Zeilen

Version 1.40, 14.11.16
Untersttzung fr punktierte ganze Noten und Doppelganze korrigiert.

Version 1.39, 11.10.16
Untersttzung fr Franzsisch hinzugefgt

Version 1.38, 23.6.16
Vermeidung von redundantem Tempoexport abermals korrigiert.

Version 1.37, 13.1.16
Mehrtaktpausen jetzt nicht mehr ber lngere duration, sondern
per measure-style multiple-rest exportiert.
Untersttzung fr Doppeltaktfaulenzer an festen Taktstrichen.
Korrekturen fr im System nicht vorhandene Mustersystemzeilen.
Korrekturen fr Metrumangaben am Zeilenende.
Schriftartenexport bei Seitenobjekten przisiert.

Version 1.36, 6.11.15
Untersttzung des measure-Attributes fr Ganztaktpausen
Untersttzung fr rechten Einzug bei Systemen (fr geteilte Coda-Zeilen)
Korrektur fr Voltenklammern an festen Taktstrichen
Korrektur fr Voltenklammer-Bezeichnungen (jetzt ohne Punkt)

Version 1.35, 20.7.15
Korrektur fr Mehrtaktpausen
Korrektur fr oktavierende Notenschlssel
Korrektur fr Musiksymbole in Textfeldern (unorthodoxe Tempobezeichnungen
oder Rhythmusangaben)

Version 1.34, 27.3.14
Weitere Korrektur der Triolen-nderung von Version 1.32

Version 1.33, 11.3.14
Korrektur bei der Vermeidung von redundantem Tempoexport

Version 1.32, 14.2.14
Untersttzung fr time-modification normal-type (Triolen mit unterschiedlichen
Notenwerten) und Triolen, die mit Pausen anfangen.
Korrektur fr Tonart- und Taktwechsel vor Wiederholungszeichen.

Version 1.31, 5.1.14
Toleranz gegenber duration-tuplet-Element ohne count-Attribut.

Version 1.30, 25.10.13
Korrektur bei midi-channel fr mehr als 16 Kanle.

Version 1.29, 24.10.13
Korrektur bei Ganztakt-Faulenzern (measure-repeat).

Version 1.28, 23.9.13
Vermeidung von redundantem Tempoexport
Korrektur bei Balkenende-Verwaltung in polyrhythmischer Musik

Version 1.27, 4.7.13
Fehlerkorrektur fr Grafikobjekte an Taktstrichen in Klavierparts.
Bessere Untersttzung fr capella3-Zeichen D.S. und D.C. in Textfeldern.

Version 1.26, 5.6.13
Falls mehrere Seitenobjekte existieren, werden die jetzt alle exportiert.

Version 1.25, 25.4.13
Korrektur der angezeigten MusicXML-Version von 1.1 auf 2.0. Tatschlich 
konnten schon ab Version 0.18 auch MusicXML-2.0-Eigenschaften exportiert werden.

Version 1.24, 17.4.13
Korrektur fr Voltenklammern in mehrstimmigen Zeilen, Support fr
Grafikobjekte an Taktstrichen.

Version 1.23, 11.4.13
Untersttzung fr Schlagzeug-Kpfe und Ganztakt-Faulenzer

Version 1.22, 20.3.13
Untersttzung fr Notenzeilen mit nur einer Linie (Schlagzeug).

Version 1.21, 8.11.12
Untersttzung fr Metrum longAllaBreve (4/2) nachgerstet.

Version 1.20, 4.6.12
Die Offsets von Grafikobjekten von ihren Ankernoten werden jetzt als relative-x exportiert
und nicht wie frher als default-x (das wurde beim Import in Finale sowieso ignoriert).
Tempo-Attribute an Systemen und an Noten bzw. Pausen werden jetzt mit exportiert.

Version 1.19, 2.3.12
Falls beim ersten Teil des Lesens einer Quelldatei (parseString()) schon ein Fehler
auftritt, wird jetzt eine Fehlermeldung ausgegeben, die die Lokalisation der
Fehlerstelle in der Quelldatei ermglicht.

Version 1.18, 24.11.11
Falls in der Quell-Datei im layout-Element kein instrumentNames-Element vorhanden ist, wird nicht mehr abgebrochen.
Bei Parts mit mehreren Zeilen (z.B. Klavier) wird jetzt die Stimmennummerierung so gesetzt, dass die erste Stimme der unteren Zeile ber alle Systeme hinweg den gleichen Index ("voice") innerhalb des Parts hat.
Falls sich in capella Voltenklammern berlappen, wird in MusicXML jetzt trotzdem auch fr die erste ein <ending type="stop">-Element geschrieben.
Falls ein Fehler bei der Konvertierung auftritt und die Fehlermeldung deutsche Umlaute enthlt,
tritt jetzt beim Betrieb aus capella heraus kein Fehler bei der Ausgabe der Fehlermeldung mehr auf.

Version 1.17, 19.11.10
Klammern, die keine Voltenklammern sind, fhrten zu Exportfehlern, falls in einem
System nicht alle Zeilen des Mustersystems vorkamen.

Version 1.16, 8.11.10
Voltenklammern, (De-)Crescendo etc, die mit beiden Ankern an an einem einzigen
Notenobjekt hngen, verursachen jetzt keine Exportfehler mehr.
Fremdsprachenuntersttzung ausgebaut.

Version 1.15, 29.3.09
Ganztaktpausen werden jetzt richtig von anderen unterschieden.

Version 1.14, 10.11.08
Partituren mit bis zu 7 Kreuzen bzw. b werden jetzt untersttzt (vorher 6)
Umlaute in Stimmenbezeichnungen zwischen den Notenzeilen werden jetzt auch dann richtig exportiert, wenn keine geschweifte Klammer die Zeilen verbindet.
Transponierende Instrumente werden jetzt auch als transponierend exportiert.
Auf- und Abstrichzeichen fr Streicher werden jetzt exportiert.
berflssiges backup mit duration 0 wird nicht mehr geschrieben.
Crescendo-Zeichen, deren Ende an derselben Note hngt wie der Anfang, werden jetzt auch exportiert.

Version 1.13, 3.2.08
Balkengruppen konnten auch ber feste Taktstriche hinweg gebildet werden, 
ebenso ber Pausen, Tonart- und Schlsselwechsel. Das wurde in einigen 
Situationen von Finale und Sibelius ignoriert und die Partitur trotzdem 
richig angezeigt. Jetzt wird korrekt exportiert. 
Taktstriche bei Tonartwechsel sind jetzt przisiert.
Falls im ersten System Schlssel- oder Tonartwechsel vorkamen, wurde eine
berflssige (aber i.d.R. unschdliche) print system-layout Anweisung erzeugt.

Version 1.12, 28.1.08
Bei taktfreien Stcken (senza-misura) muss fr Finale und Sibelius formal
fr jedes System ein Takt erzeugt werden. Der abschlieende Taktstrich wird
ab jetzt unsichtbar eingesetzt.
Der linke Einzug des 2. Systems und aller Folgesysteme war seit Version 0.9
fehlerhaft implementiert, jetzt korrigiert.
Warnungsakzidentien, also Vorzeichen, die nur zur Erinnerung geschrieben wurden
(capella: "Vorzeichen erzwingen"), werden jetzt auch exportiert

Version 1.11, 14.9.07
Septolen und hhere irregulre Teilungen jetzt richtig exportiert.
Akkordsymbole in RichText besser exportiert.
Notenschlssel, Metrumangaben und Tonartwechsel am Zeilenende korrigiert.
Doppelkreuz und Doppel-b in einigen Situationen korrigiert.
Normalgroe Noten ohne Wert werden von MusicXML nicht verstanden, deshalb
jetzt als klein exportiert.
Pausen ohne Wert werden von MusicXML nicht verstanden, deshalb jetzt unterdrckt.
An die Seite gebundener Text in einigen Situationen richtiger exportiert.

Version 1.10, 23.4.07
Tempoangaben werden jetzt richtig exportiert in einigen Situationen, in denen
es bisher nicht funktioniert hat.
Klammern, die nicht Voltenklammern sind (z.B. 8va), werden jetzt exportiert.
Einige Korrekturen bei Akkordsymbolen.
Taktfreie Partituren werden jetzt in bestimmten Situationen korrekter
exportiert.
MusicXML-Stichnoten knnen keine Haltebgen haben, das ist jetzt bercksichtigt.
Pausen, die in capella als "Vertikale Lage" "immer in der Mitte" angegeben haben,
werden jetzt auch bei oktavierendem G-Schlssel in Finale in normaler Position 
gezeigt.
Der Eintrag encoding-date entspricht jetzt exakt den MusicXML-Regeln.
Der Aufruf aus Python (ohne capella und capella-scan) entspricht jetzt mehr den 
Python-Gepflogenheiten.

Version 1.09, 12.3.07
Metrumangaben am Ende der Zeile fhren nicht mehr dazu, dass ein leerer Takt
eingefgt wird.
Die Papierformat-Eingabe in der englischen Version ist jetzt richtig bersetzt.

Version 1.08, 12.2.07
Es knnen jetzt ber SetupC2M auch andere Papierformate als A4
eingestellt werden.

Version 1.07, 20.1.07
Die Deklaration <score-partwise> gendert in <score-partwise version="1.1">,
weil Programme, die nur MusicXML 1.1-Dateien lesen, sonst Probleme bekommen
knnen.

Version 1.06, 18.1.07
Fehlerkorrektur bei Untersttzung von Zeilen, die zwar im Mustersystem, nicht
aber in allen Systemen vorkommen

Version 1.05, 22.12.2006
Fehler korrigiert bei Export von festen Taktstrichen mit Wiederholungszeichen
an beiden Seiten.
Untersttzung fr feste Taktstriche und Voltenklammern in Systemen, in denen 
die erste Zeile des Mustersystems fehlt.

Version 1.04, 15.12.2006
Fehler korrigiert bei uneinheitlichen Metren mit unvollstndigen Stimmen.
Redundante Metrumangaben vermieden (in Sibelius erschien am Systemende oft
das Metrum der nchsten Zeile).

Version 1.03, 14.12.2006
Korrektur des Parameter-Mechanismus mit CapToMusic.opt. Die Optionen werden jetzt
tatschlich bercksichtigt. Zur nachtrglichen Kontrolle werden sie auch in der
MusicXML-Datei notiert als <encoding-description>. SetupC2M Kommandozeilen-Dialoge 
verstndlicher.

Version 1.02, 6.12.2006
Rtf2TxtAndFont.py (im ZIP-Paket enthaltene Datei) modifiziert, um reibungslosen
Ablauf in minimaler Python-Umgebung zu ermglichen.

Version 1.02, 5.12.2006
Fehler bei Nachschlag-Noten korrigiert
Importproblem bei unsinnigen Akkordsymbolen behoben

Version 1.01, 4.12.2006
Unter Windows werden die Einstellungen werden nicht in der Windows-Registry gespeichert, sondern in einer Datei CapToMusic.opt im Anwendungsdaten-Verzeichnis
(HKCU\software\windows\CurrentVersion\explorer\Shell Folder\AppData) 
capella-software\CapToMusic. Damit sind keine Administrator-Privilegien mehr
erforderlich.

Version 1.0, 4.12.2006
identisch mit 0.25

Version 0.25
Fehler bei Taktwechsel im System und Ganzen Pausen, ganzen Noten
korrigiert
Untersttzung fr die Kommandozeile verbessert: Quell- und Ziel-
Datei knnen verschieden heien, die Sprache fr Meldungen des
Programms kann vorgewhlt werden.
Fehlerbehandlung jetzt komfortabler: Bei evtl. Konvertierungsfehlern,
die zum Abbruch des Programms fhren, berichtet das Programm jetzt, 
an welcher Stelle der Partitur das Ereignis auftrat.
Ein Mechanismus fr die Verwaltung von Parametern ber die Laufzeit
des Skripts hinaus ist eingefhrt mit Hilfe des neuen Skripts SetupC2M.py. 
Dieses Skript verwaltet die Variablen globalExportToSibelius, 
globalFinaleDolet33 und globalChordCaseMatters. Die Bedeutung dieser 
Variablen ist im Code nher erlutert. So kann CapToMusic fr bestimmte 
Bedrfnisse optimiert werden, ohne den Code anzutasten. Die Einstellungen
werden in der Windows-Registry gespeichert, auf nicht-Windows-Systemen
in einer Datei CapToMusic.opt

Version 0.22, 0.23, 0.24
unverffentlicht

Version 0.21, 19.11.2006
Ganze Pausen im 12/8-Takt jetzt richtig exportiert(!!)
Zeitbedarf bei vielzeiligen Systemen reduziert.

Version 0.20, 15.11.2006
Als Sprachen fr die Bedienoberflche werden jetzt Deutsch und 
Englisch unterschieden.
Export aus capella hat jetzt eine Dialogbox fr den Dateinamen der
MusicXML-Datei.

Version 0.19, 12.11.2006
Ganze Pausen im 6/8-Takt jetzt richtig exportiert(!).
Einige vergessene Dialogboxen deaktiviert
Beim Export von unvollstndigen Stimmen mehr Toleranz gegenber
unsichtbaren Rhythmusstrungen
Voltenklammern mit mehr als einer Nummer jetzt richtig exportiert.

Version 0.18, 11.11.2006
Ganze Pausen im 2/4 und 1/4-Takt jetzt richtig exportiert.
Vorschlagnoten am Taktanfang nicht mehr als Nachschlag interpretiert.
Bei uneinheitlichen Metren (z.B. 3/4 Takt und 4/4 Takt in verschiedenen
Zeilen eines Systems) jetzt das "non-controlling" Attribut 
untersttzt - das wird jedoch z.Zt. weder vom Finale- noch vom
Sibelius-Import benutzbar ausgewertet!

Version 0.17, 6.11.2006
Unsichtbare Noten bzw. Pausen werden unsichtbar exportiert
(Achtung Sibelius-Nutzer: Sibelius 4 untersttzt keine 
Unsichtbarkeit bei Noten oder Pausen. Deshalb bitte im 
Quellcode die Variable globalExportToSibelius = True setzen. 
Fr unsichtbare Noten/Pausen wird dann ein forward-Element 
eingefgt)
Unvollstndige Stimmen werden unsichtbar ergnzt - damit werden
Sibelius-Import-Fehler vermieden.
Punktierte ganze Noten/Pausen jetzt richtig exportiert.
Ganze Pausen im Dreivierteltakt jetzt richtig (drei Viertel
lang) exportiert.

Version 0.16, 7.9.2006
Untersttzung fr mehrzeilige Einfachtexte ab Finale Dolet 3.3 (bei lteren 
Dolet-Versionen wird fr jede Zeile ein neuer Text-Ausdruck erzeugt)

Version 0.15, 4.9.2006
Untersttzung fr taktfreie Musik (senza-misura / infinite)

Version 0.14, 18.8.06
Akkordsymbole jetzt mit Untersttzung von Bass-Noten nach Schrgstrich (C/G)
und Untersttzung fr solche transponierbare Symbole in capella, die aus Gruppen
von Einfachtexten zusammengesetzt sind (zur Vermeidung des speicherfressenden RichText)

Version 0.13, 7.8.06
Implizite Taktangaben bewirken nicht mehr einen Wechsel zwischen "allaBreve" 
und 2/2 sowie zwischen "C" und 4/4.
Akkordsymbole jetzt mit Positionskontrolle exportiert, deutsche und italienische
Schreibweisen untersttzt (Es, B, F, C, .., H, Fis; Mib, Sib, Fa, Do, ..,Si, Fa#;
Me, Te, Fa, Do, .., Ti, Fi) (in Finale ggfls. Chord - Chord Style auswhlen!)
Untersttzung fr Nachschlagnoten
Untersttzung fr Textfelder mit Segno bzw. Kopf verbessert
Fehler mit Programmabbruch beseitigt im Hilfsprogramm Rtf2TetAndFont

Version 0.12, 31.7.06
Metronomangaben jetzt auch in Klammern exportiert

Version 0.11, 21.7.06
Verlngerungspunkte bei Pausen jetzt richtig exportiert
Taktnummern knnen jetzt auch bei Zahlen > 1 anfangen. Die "Korrektur 
der automatischen Taktnummerierung" in capella kann aber nur fr das erste
System untersttzt werden (MusicXML-Problem).
Bugfix bei Stichnoten.

Version 0.10, 19.7.06
Implizite Taktangaben jetzt exportiert
Korrektur bei Balken

Version 0.9, 17.7.06
Transponierbare Symbole jetzt nicht mehr alle bereinander, sondern als
Akkordsymbol exportiert (funktioniert bei Amerikanischer Schreibweise,
Einschrnkungen bei deutscher oder italienischer Schreibweise).
Linker Einzug der Notensysteme besser untersttzt (automatisch bzw. fester Wert).
Metronomangaben werden jetzt exportiert.
Noten und Pausen, die ber einen Takt hinausgehen, werden jetzt exportiert. Das
funktioniert noch nicht richtig, wenn in einer Partitur die Mehrtaktpausen nicht 
fr alle Stimmen gleichermaen gelten.

Version 0.8, 19.6.06
Korrekturen beim Export von kyrillischem und griechischem Text
Bei Benutzung des soeben erschienenen Recordare-Dolet V 3.2 werden diese Texte jetzt sofort
korrekt dargestellt (vgl. Anmerkung zu V 0.6)
Korrektur bei Positionierung von Liedtext (nur mit Recordare-Dolet V 3.2 sichtbar)
Korrekturen beim Export von an die Seite gebundenem Text
Korrektur bei Feinpositionierung von Segno und Kopf
Korrektur bei Zeilen-Abstnden

Version 0.7, 28.5.06
Untersttzung fr Partituren, in denen nicht in jedem System alle Mustersystemzeilen besetzt sind.
Untersttzung fr Stich- und Vorschlagnoten, Triller, Pralltriller, Mordent, Doppelschlag
Untersttzung fr Pausen mit vertikaler Lage "immer in der Mitte"
Untersttzung fr mehrzeilige Textfelder (z.B. Akkordfingerstze)
Korrektur bei Bindebgen in mehrstimmigen Zeilen, bes. Klavier-Doppelzeilen
Korrektur bei Balken innerhalb Triolen

Version 0.6, 27.4.06
Untersttzung fr Texte in Griechisch, Kyrillisch, Ost-Europa und Baltikum. Achtung: Finale stellt diese Sprachen erst dann dar, wenn eine davon in den "Regionalen Einstellungen" fr den ganzen Computer ausgewhlt ist. Auerdem muss man in Finale fr jeden Text und den Liedtext in der Textfont-Einstellung das "Skript" fr diese Sprache noch manuell auswhlen!
Untersttzung fr Partituren mit Systemen, in denen nicht alle Zeilen des Mustersystems vorhanden sind (z.B. MozaVeilSample.xml von Recordare)
part-abbreviation wird jetzt nur exportiert, wenn es auch benutzt ist.

Version 0.5, 13.4.06
Erste verffentlichte Version